批处理必须在“|”前面加“^”

来源:百度知道 编辑:UC知道 时间:2024/05/05 19:17:40
为什么:
for /f "tokens=3* delims= " %x in ('ping 127.0.0.1^|find "Reply"') do echo %x %y
此时不应有 |。
而必须在“|”前面加“^”,
然而在ntcmds.chm里却没有该种情况的说明。

这个主要是为了区别“或”运算符号和管道传输命令。在使用set /a 计算的时候也要加^转义字符

''里面包含的是一条命令,如果不加^cmd读取时不会把'ipconfig ^| find "Reply"'当成整体.

在批处理里|要在前面加工厂^是一定要的,不然是不可以的。就象%%在CMD里只是%,批处理就要多加%是一样的。